The inventive concepts described herein relate to semiconductor memories, and more particularly, to nonvolatile memory devices and program verification methods applied to nonvolatile memory devices.
Semiconductor memory devices are fabricated from semiconductors such as silicon (Si), germanium (Ge), gallium arsenide (GaAs), indium phosphide (InP), and the like, and are generally categorized as either volatile or nonvolatile.
Volatile memory devices are characterized by the loss of stored data in a power-off state, and examples thereof include Static RAM (Static Random Access Memory), Dynamic RAM (DRAM), Synchronous DRAM (SDRAM), and so on. In contrast, nonvolatile memory devices are characterized by the retention of stored data in a power-off state, and examples thereof include Read Only Memory (ROM), Programmable ROM (PROM), Electrically Programmable ROM (EPROM), Electrically Erasable and Programmable ROM (EEPROM), flash memory, Phase-change RAM (PRAM), Magnetic RAM (MRAM), Resistive RAM (RERAM), Ferroelectric RAM (FRAM), and so on.
Among nonvolatile memories, flash memory in particular has been adopted in a wide variety of applications due to its inherent operational advantages such as high memory capacity, low noise characteristics, low power consumption and fast operating speeds.
Flash memory data stores data my controlling the threshold voltage of memory cells, such as floating gate memory cells and charge trap flash (CTF) memory cells. Typically, a flash memory device programs data using an incremental step pulse programming (ISPP) scheme in which data is programmed through execution of a sequence of program loops. Each program loop contains a program step where a program pulse is applied to alter the threshold voltage of a memory cell, followed by a verification step in which a threshold voltage state of the memory cell is read for verification. Generally, the program loops are repeated until a desired threshold voltage state is verified.